public class c22_StoD {
    //string to data
    static boolean is_data(String s) {
        boolean b = false;
        if (s == null || s.trim().isEmpty()) return false;

        String str = s.trim();
        boolean num = false;
        boolean dot = false;
        boolean e = false;

        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= '0' && c <= '9') {
                num = true;
                b = true;
            } else if (c == '.') {
                if (dot || e) return false;
                dot = true;
            } else if (c == 'e' || c == 'E') {
                if (e || !num) return false;
                e = true;
                num = false;
            } else if (c == '+' || c == '-') {
                if (i != 0 && str.charAt(i-1) != 'e' && str.charAt(i-1) != 'E') {
                    return false;
                }
            } else {
                return false;
            }
        }
        return b && num;
    }

    static double str_data(String s) {
        double data = 0;
        //...
        return data;
    }

}
